Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Publicado por Emiliano Eloi Silva Barbosa 04/04/2007
[ Hits: 12.056 ]
Homepage: http://emilianoeloi.com.br
Tradução do script php de leo genilhu:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=257
Classe de conexão com banco de dados PostGreSQL, com métodos de inserção e atualização de query's.
Ótimo para quem esta iniciando OOP.
class database{
var $db_HOST = "";
var $db_PORT = "";
var $db_USER = "";
var $db_PASS = "";
var $db = "";
var $CONST_ERRO = "erro ao conectar no nosso banco";
var $dbc;
var $last_id;
function database($db, $user, $pass="nopass",$host="localhost", $port=5432){
$this->db_HOST=$host;
$this->db_PORT=$port;
$this->db_USER=$user;
$this->db_PASS=$pass;
$this->db=$db;
$this->connect_db();
}
function connect_db(){
$connect_string = "host=".$this->db_HOST." port=".$this->db_PORT." user=".$this->db_USER." password=".$this->db_PASS." dbname=".$this->db;
$this->dbc = pg_connect($connect_string);
return $dbc;
}
function delete_db($table,$id){
$Campo_id = $this->getPrimaryKey($table);
$tmp="delete from $table where $Campo_id='$id'";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
return $sts ;
}
function close_db (){
pg_close($this->dbc);
}
function insere_db($campos,$valores,$tab){
$inicio="INSERT INTO $tab(";
$meio=") VALUES (";
$fim=")";
$valor = sizeof($campos);
$strc="";
for($i=0;$i <= ($valor-1);$i++){
$strc.="$campos[$i]";
if($i != ($valor-1)){
$strc.=",";
}
}
$strv="";
for($k=0;$k <= ($valor-1);$k++){
$strv.="'$valores[$k]'";
if($k != ($valor-1)){
$strv.=",";
}
}
$insere="$inicio$strc$meio$strv$fim";
$this->query_db($insere);
$this->setLastID($tab);
}
function query_db($sql){
return pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
}
function reg_db($table){
$tmp="select * from $table";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
$num = pg_num_rows($sts);
return($num);
}
function getPrimaryKey($table){
$sql = "select indexdef from pg_indexes where tablename = '$table' and indexname LIKE '%pkey';";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$resultado = pg_fetch_result($res, 'indexdef');
$arr_temp = explode("(",$resultado);
$arr_temp2 = $arr_temp[1];
$arr_temp = explode(")",$arr_temp2);
return $arr_temp[0];
}
function setLastID($table){
$sequence_name = $table . "_" . $this->getPrimaryKey($table) . "_seq";
$sql = "select currval('$sequence_name') AS lastid";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$this->last_id = pg_fetch_result($res,'lastid');
}
function id_db(){
return $this->last_id;
}
};
Passe a data no formato aaaa-dd-mm e retornará dd/mm/aaaa.
Automatizar a recuperação de dados de uma linha de resultado do Mysql
Personalizando sistemas de filtros
Classe eveQuery: Interação com banco de dados
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Recuperando arquivos com o Photorec de discos zoados
Usando o --load-average no Gentoo para evitar OOM Kill
Instalando o COSMIC DE no Gentoo (systemd)
Ajudante para criar dicas e artigos no VOL (5)
Alguém tem que acabar com ANATEL!!! (4)









